Copying and pasting text is the most widely-used means of introducing content to a word processor document. The popularity of the copy and paste functions stems in large part from the fact that a user can use the functions to quickly import material from a variety of sources. Word processor users commonly copy and paste material from source documents, such as word processor documents, e-mail notes, spreadsheets documents, and web pages. Unfortunately, pasting material into a target document often results in unpredictable formatting behavior. The text that is pasted into the target document is often in a format that is either inconsistent with the rest of the document or inconsistent with the user's expectations. This problem is often made worse by the fact that the format of the text in the source document may be different than the formatting of text in the target document. Conventional pasting functions also fail to provide recovery mechanisms. Consequently, when a user pastes text into a word processor document, the user must take affirmative steps to format the pasted text to the user's liking.
One approach to solving this problem has been to provide a “Paste Special” function that permits the user to select from various formats at the time of pasting the text into the target document. Unfortunately, the user must be aware of the availability of the “Paste Special” functionality and must make an affirmative step to implement this function. Studies of the results provided by instrumented versions of word processor application programs indicate that the “Paste Special” functionality is not commonly used.
Therefore, there is a need in the art for a formatting tool that can automatically determine the most likely formatting choices based on the context and on the user's behavior. The formatting tool also should enable the user to quickly select the formatting of the pasted text. The formatting tool should operate within the confines of a document editor's normal operation, in that it does not require the user to take alternative steps to invoke the automatic formatting. The formatting tool also should provide a recovery mechanism that enables the user to quickly re-format text that has been automatically formatted, when the automatic formatting is not the desired formatting.